package com.itheima.test;

import com.alibaba.fastjson.JSON;
import com.itheima.pojo.User;
import org.junit.Test;

import javax.jws.soap.SOAPBinding;
import java.util.List;
import java.util.Map;

public class Json2Object {

    @Test
    public void json2JavaObject(){
        //已知  有这么几个json格式数据
        String s1 = "{\"age\":19,\"name\":\"张三\",\"sex\":\"男\"}";
        String s2 = "[{\"age\":19,\"name\":\"张三\",\"sex\":\"男\"},{\"age\":19,\"name\":\"李四\",\"sex\":\"女\"}]";
        String s3 = "{\"u002\":{\"age\":19,\"name\":\"李四\",\"sex\":\"女\"},\"u001\":{\"age\":19,\"name\":\"张三\",\"sex\":\"男\"}}";

        //问  上面的json格式如何转换成对应的 java对象呢？
        // 普通javabean转换
        User user = JSON.parseObject(s1, User.class);
        System.out.println("对象转换之后"+user);
        // 单列集合怎么转换
        List<User> list = JSON.parseObject(s2, List.class);
        List<User> userList = JSON.parseArray(s2, User.class);
        System.out.println("list集合转换之后"+list);
        System.out.println("list集合使用数组形式转换之后"+userList);
        //双列集合 怎么转换
        Map map = JSON.parseObject(s3, Map.class);
        System.out.println("查看键集:"+map.keySet());
        System.out.println("查看值集:"+map.values());
    }
}
